#test_liste MAKEFILE

####################
#Compilation options
####################

#Compiler
CC = gcc

#Other options, here, show warning and ansi mode
OPT = -Wall -ansi -g

#Assemble
ASS=-c

#Link
LINK=-o


######
#Quick make
######

#nom module
MOD_NAME = liste

#############
#package info
#############


#nom exécutable
EXENAME = test_$(MOD_NAME)

#############
#fichier test
#nom du fichier test
TEST = test_$(MOD_NAME).c
#nom du fichier assemblage du fichier testé
TEST_ASS = test_$(MOD_NAME).o
############

############
#module testé

#prog directory
PROG_DIR = ../../lib/$(MOD_NAME)/

#nom du module du fichier testé
HEADER = $(PROG_DIR)$(MOD_NAME).h
#nom du corps du fichier testé
BODY = $(PROG_DIR)$(MOD_NAME).c
#nom du fichier assemblage du fichier testé
MOD_ASS = $(MOD_NAME).o
#############

#############
#module importé
I_MOD_NAME = personne
#dir du module importé
I_DIR = ../../lib/$(I_MOD_NAME)/
#header du module importé
I_HEADER =$(I_DIR)$(I_MOD_NAME).h
#corps du module importé
I_BODY =$(I_DIR)$(I_MOD_NAME).c
#nom du fichier assemblage du module importé
I_MOD_ASS = $(I_MOD_NAME).o

#############

#fichiers assemblage
TEST_ASS_LIST = $(TEST_ASS) $(MOD_ASS) $(I_MOD_ASS)

##Assemblage

$(EXENAME): $(TEST_ASS_LIST)
	$(CC) $(LINK) $(EXENAME) $(OPT) $(TEST_ASS_LIST)

$(TEST_ASS): $(TEST)
	$(CC) $(ASS) $(TEST)

$(MOD_ASS): $(BODY) $(HEADER)
	$(CC) $(ASS) $(BODY) $(HEADER)

$(I_MOD_ASS): $(I_BODY) $(I_HEADER)
	$(CC) $(ASS) $(I_BODY) $(I_HEADER)

clean: rm *.o
